Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## rdlc.sw
Class Map

    java.lang.Object
      rdlc.commands.Map.Language
          rdlc.sw.Map

Direct Known Subclasses:
  Map

    public abstract class Map

extends Map.Language

This class contains all of the code required to map a complete RDL design to an object oriented software (java) implementation.

Version:
  $Revision: 1.26 $
Author:
  Greg Gibeling

Field Summary
`protected Engine` | `engine` The emulation engine, tantamount to a user level thread scheduler.
`protected java.util.Hashtable<java.lang.String,Type_Reference>` | `externalTable` A hashtable mapping external reference names to the actual type.
`protected Library` | `library` The library.
`protected Declaration` | `rootDecl` The root declaration of the project; the top level class.
`protected java.util.List<Pair<UnitInstance,Class>>` | `wrapperList` Complete list of the unit instances in this design and the corresponding class generated herein.

Fields inherited from class rdlc.commands.Map.Language
`accurateSim, autoShells, command, config, map`

Constructor Summary
`Map(Map _command, java.lang.String _config, Map _map, java.lang.Boolean _accurateSim, java.lang.Boolean _autoShells)`

Method Summary
`protected java.util.List<Class>` | `generate(UnitInstance _unitInstance)` Generate all of the classes relevant to the given unit instance in the given root instance.
`protected Class` | `generateLeafInstance(Unit unit, UnitInstance _unitInstance)` Generate the wrapper class for a leaf unit instance.
`static Class` | `generateMessageType(Message message, Library library, Declaration rootDecl)` Generate an abstract software class which will represent the given message type.
`protected void` | `generateTopLevel(Class xclass)` Fill in the implementation of the top level class which represents the completed design.
`protected void` | `startTopLevel(java.lang.String name)` Start a top level class.

Methods inherited from class rdlc.commands.Map.Language
`backEndPlugin, invoke`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### rootDecl

    protected Declaration rootDecl

  The root declaration of the project; the top level class.

### engine

    protected Engine engine

  The emulation engine, tantamount to a user level thread scheduler.

### library

    protected Library library

  The library.

### wrapperList

    protected java.util.List<Pair<UnitInstance,Class>> wrapperList

  Complete list of the unit instances in this design and the corresponding class generated herein.

  See Also:
    `generateLeafInstance(Unit, UnitInstance)`

### externalTable

    protected java.util.Hashtable<java.lang.String,Type_Reference> externalTable

  A hashtable mapping external reference names to the actual type.

Constructor Detail

### Map

    public Map(Map _command,
               java.lang.String _config,
               Map _map,
               java.lang.Boolean _accurateSim,
               java.lang.Boolean _autoShells)

See Also:
  `rdlc.commands.Map.Language#Language(Map, String, rdlc.rdl.Map, Boolean, Boolean)`

Method Detail

### startTopLevel

    protected void startTopLevel(java.lang.String name)

  Start a top level class. This method is also responsible for loading the library, and creating the root namespace. The implementation of the top level class will be filled in later.

  Parameters:
    `name` - The name to use for this top level class.
  See Also:
    `generateTopLevel(Class)`

### generateTopLevel

    protected void generateTopLevel(Class xclass)

  Fill in the implementation of the top level class which represents the completed design.

  Parameters:
    `xclass` - The top level class which was previously started.
  See Also:
    `startTopLevel(String)`

### generate

    protected java.util.List<Class> generate(UnitInstance _unitInstance)

  Generate all of the classes relevant to the given unit instance in the given root instance. This method simply recurses through the hierarchy looking for leaf units, which actually need wrapper.s

  Parameters:
    `_unitInstance` - The specific unit instance being traversed.
  Returns:
    A list of all the classes created along the way.

### generateLeafInstance

    protected Class generateLeafInstance(Unit unit,
                                         UnitInstance _unitInstance)

  Generate the wrapper class for a leaf unit instance. Notice that as with hardware, wrappers are instance rather than unit specific.

  Parameters:
    `unit` - The unit this wrapper will wrap an instance of.
    `_unitInstance` - The instance this wrapper will represent.
  Returns:
    A class which implements the necessary wrapper code.

### generateMessageType

    public static Class generateMessageType(Message message,
                                            Library library,
                                            Declaration rootDecl)

  Generate an abstract software class which will represent the given message type. This method will attempt to find a previous implementation before creating a new one. This method is static so that it can be called from shell projects as needed.

  Parameters:
    `message` - The message to create the class for.
    `library` - The library to load standard classes from.
    `rootDecl` - The root declaration.
  Returns:
    A class which implements the methods to support the given message type.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD